import Vue from 'vue'
import App from './App.vue'
import './assets/icon/iconfont.css'

import './components/TopBase.vue'


//引入VueRouter
import VueRouter from 'vue-router'

//应用插件
Vue.use(VueRouter)

//引入路由器
import router from './router/index';
//VueComponent的实例对象，以后简称vc（也可称之为：组件实例对象）。
// Vue的实例对象，以后简称vm。
//console.log(Vue.prototype); //Vue的原型对象中有emit on，所以创建的vc vm才能使用emit或者on
//Vue.prototype.public = {a:1, b:2}; //每个vc vm示例中的public都是同一个对象

let vm = Vue.extend({});
let obj = new vm();
Vue.prototype.public = obj;
//关闭生产环境提交
Vue.config.productionTip = false

new Vue({
    el:'#app',
    //脚手架引入的vue是残缺的，为了性能
    render:(createElement) =>{
        return createElement(App)
    },
    beforeCreate:function() {
        // Vue.prototype.public = new Vue.extend({});
        // Vue.prototype.public = this;
        //创建一个组件事件，组件实例中的功能vm都有，所以Vue.prototype.public = new Vue.extend({})可以用this替换
        Vue.prototype.$bus = this;//推荐写法,bus是总线的意思，加上$是为了和vue属性的命名一致
    },
    router,
})
